package com.zwh.spring.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.zwh.spring.demo.exception.ApiException;

@Controller
public class HelloController {
	// @Controller + @ResponseBody 组合，等同于 @RestController
	// 返回JSON格式。
	@ResponseBody
	@RequestMapping("/hello")
	public String hello() {
		return "Hello World";
	}
	
	// @Controller 默认为返回页面路径（url）
	@RequestMapping("/")
    public String index(ModelMap map) {
		
		// 加入一个属性，用来在模板中读取
		map.addAttribute("host", "http://www.whzhang.cn");
		// return模板文件的名称，对应src/main/resources/templates/index.html 
        return "index";
    }
	
	@RequestMapping("/excep")
	public String excep() throws Exception{
		
		throw new Exception("主动抛出异常！");
	}
	
	@ResponseBody
	@RequestMapping("/json")
	public String json() throws Exception{
		throw new ApiException("获取数据出错。");
	}
}
